package dao;

import pojo.Menu;
import util.PageBean;

import java.util.List;

/**
 * dao层的菜单接口
 * @author 叶军军
 */
public interface MenuDao {

    /**
     * 菜单分页功能
     * @param pb  分页工具实体类对象
     * @param ename  菜单名称
     * @return  分页工具实体类
     */
    PageBean menuPageList(PageBean pb, String ename);

    /**
     * 统计菜单总数
     * @param ename  菜单名称
     * @return
     */
    int count(String ename);

    /**
     * 查询所有菜单
     * @return
     */
    List<Menu> queryMenu();

    /**
     * 根据菜单名称修改菜单权限
     * @param name
     * @param rool
     * @return
     */
    int updateMenuRoolByName(String name,int rool);

    /**
     * 查询顶级菜单
     * @return
     */
    List<Menu> querySupMenu();

    /**
     * 新增菜单
     * @param menu  菜单对象
     * @return
     */
    int inseMenu(Menu menu);

    /**
     * 根据菜单id查询菜单信息
     * @param id   菜单id
     * @return
     */
    Menu queryMenuById(int id);

    /**
     * 修改菜单
     * @param menu  菜单对象
     * @return
     */
    int modifMenu(Menu menu);

    /**
     * 删除菜单
     * @param id  菜单id
     * @return
     */
    int deleMenu(int id);

    /**
     * 根据角色id查询角色拥有的菜单
     * @param roleId  角色id
     * @return
     */
    List<Menu> queryMenuByRoId(int roleId);
}
